(function() {
	var $window_scroll = $(window);
	var available_filed = $window_scroll.height() - 135; //可视范围高度
	var _mark; // 视滚差定点

	Path.on("/__basename__.html", function(_current_location) {
		var queryString = _current_location.query;
		var goods_pre_num = 12;
		var current_page_num = 0;
		var goods_list_url;
		var get_goods_type = queryString.get("id");
		var get_goods_sort = queryString.get("sort");

		var get_goods_sort_asc = queryString.get("asc");
		// var get_goods_tag = queryString.get("tag");
		// var get_goods_classify = queryString.get("classify_id");
		// App.set("$Cache.goods_list.tag", get_goods_tag);
		App.set("$Cache.current_page", 2);
		// App.set("$Cache.goods_list.open_tags", false);

		//获取所有商品数量
		coAjax.get(appConfig.goods.number, {
			bus_id: busInfo._id,
		}, function(result) {
			var number = ~~result.result
			App.set("$Cache.goods_number", number);
			var _goods_number_list = [];
			_goods_number_list.length = number;
			var _page_num = [];
			//向上取整获取页数
			// console.log(number, goods_pre_num, Math.ceil(number / goods_pre_num));
			_page_num.length = Math.ceil(number / goods_pre_num);
			App.set("$Cache.goods_number_list", _goods_number_list);
			App.set("$Cache.page_num", _page_num);
		});

		//每页显示数量
		App.set("config.goods_pre_num", goods_pre_num);
		App.set("$Cache.goods_pre_num", goods_pre_num);
		jSouper.ready(function(argument) {
			App.set("$Cache.current_page_num", current_page_num);
		});
		// 加载更多商品
		App.set('$Event.goods_list.getMoreGoods', function() {
			if (App.get('isresult')) {
				App.set("loadingoods", true);
				current_page_num += 1;
				getgoods();
			};
		});
		// 判断位置自动加载更多商品
		$window_scroll.scroll(function() {
			_mark = document.getElementById("_mark");
			if (App.get("isresult") && ((document.body.scrollTop + available_filed) > _mark.offsetTop)) {
				App.set("loadingoods", true);
				current_page_num += 1;
				getgoods();
			};
		});
		// Promise加载商品
		var goods_list_dtd = new $.Deferred();

		function _init_goods(dtd, data) {
			var data = {
				bus_id: busInfo._id,
				num: goods_pre_num,
				page: current_page_num
			};
			(get_goods_sort && get_goods_type != 2) ? (data.sort_by_key = get_goods_sort) : false; //价格排序？
			(get_goods_sort_asc == 1 && get_goods_type != 2) ? (data.asc = true) : false; //是否升序？
			console.log(data);
			coAjax.get(goods_list_url, data, function(result) {
				if (result.result.length) {
					App.set('isresult', true);
					App.concat('$Cache.goods_list.list', result.result);
				} else {
					App.set('isresult', false);
				};
				App.set("loadingoods", false);
				dtd.resolve(result.result);
			});
			return dtd;
		};
		//获取指定页的商品
		function getgoods(data) {
			App.set("loadingoods", true);
			App.model.toggle('loadingoods');
			$.when(_init_goods(goods_list_dtd, data)).then(function(goods) {
				_mark = document.getElementById("_mark");
			});
		};


		// 判断排序
		if (get_goods_type == 2) {
			if (get_goods_type == App.get("$Cache.goods_list.type")) {
				$window_scroll.scrollTop(App.get("$Cache.goods_list.scrollTop") || 0);
				return;
			};
			goods_list_url = appConfig.goods.quality_list;
			current_page_num = 0;
			App.set('$Cache.goods_list.typetitle', '销量最高');
			App.set('$Cache.goods_list.list', []);
			getgoods();
		} else {
			App.set('$Cache.goods_list.typetitle', '最新上架');
			if (get_goods_sort && (get_goods_sort_asc == App.get("$Cache.goods_list.sort_asc"))) {
				$window_scroll.scrollTop(App.get("$Cache.goods_list.scrollTop") || 0);
				return;
			};
			App.set("$Cache.goods_list.sort", get_goods_sort);
			if (((get_goods_sort_asc == 0) || (get_goods_sort_asc == 1)) && (get_goods_sort_asc != App.get("$Cache.goods_list.sort_asc"))) {
				(get_goods_sort_asc == 1) ? App.set('$Cache.goods_list.typetitle', '价格从高到低') : App.set('$Cache.goods_list.typetitle', '价格从低到高')
				App.set("$Cache.goods_list.sort_asc", get_goods_sort_asc);
				current_page_num = 0;
				current_page_num = 0;
			};
			get_goods_type = 3;
			if (!get_goods_sort && (get_goods_type == App.get("$Cache.goods_list.type"))) {
				$window_scroll.scrollTop(App.get("$Cache.goods_list.scrollTop") || 0);
				return;
			};
			goods_list_url = appConfig.goods.list;
			current_page_num = 0;
			App.set('$Cache.goods_list.list', []);
			getgoods();
		};
		App.set("$Cache.goods_list.type", get_goods_type);
		// if (!(get_goods_tag || get_goods_classify)) {
		// 	if (get_goods_type == 2) {
		// 		if (get_goods_type == App.get("$Cache.goods_list.type")) {
		// 			$window_scroll.scrollTop(App.get("$Cache.goods_list.scrollTop") || 0);
		// 			return;
		// 		};
		// 		goods_list_url = appConfig.goods.quality_list;
		// 		current_page_num = 0;
		// 		App.set('$Cache.goods_list.typetitle', '销量最高');
		// 		App.set('$Cache.goods_list.list', []);
		// 		getgoods();
		// 	} else if (get_goods_type == 4) {
		// 		App.model.toggle("$Cache.goods_list.open_tags");
		// 	} else {
		// 		get_goods_type = 3;
		// 		if (get_goods_type == App.get("$Cache.goods_list.type")) {
		// 			$window_scroll.scrollTop(App.get("$Cache.goods_list.scrollTop") || 0);
		// 			return;
		// 		};
		// 		var goods_list_url = appConfig.goods.list;
		// 		current_page_num = 0;
		// 		App.set('$Cache.goods_list.typetitle', '最新上架');
		// 		App.set('$Cache.goods_list.list', []);
		// 		getgoods();
		// 	};
		// 	App.set("$Cache.goods_list.type", get_goods_type);
		// };

		// 加载标签列表及判断是否加载商品
		// coAjax.get(appConfig.bus.tags_detail, {
		// 	bus_id: busInfo._id
		// }, function(result) {
		// 	App.set("$Cache.goods_list.tags_detail", result.result);
		// 	if (get_goods_tag) {
		// 		_init_tag(get_goods_tag);
		// 	};
		// });

		// 加载分类列表树形结构
		// coAjax.get(appConfig.bus_classify_tree, {
		// 	bus_id: busInfo._id
		// }, function(result) {
		// 	App.set("$Cache.goods_list.classify_tree", result.result);
		// 	if (get_goods_classify) {
		// 		_init_classify(get_goods_classify);
		// 	};
		// });
	});
	// 显示标签列表
	// App.set("$Event.goods_list.open_tags", function() {
	// 	App.model.toggle("$Cache.goods_list.open_tags");
	// });

	// 跳转到商品详情
	App.set("$Event.goods_list.jump_to_details", function(e, vm) {
		App.set("$Cache.goods_list.scrollTop", window.scrollY);
		Path.jump("/goods_details.html?id=" + vm.get("_id"));
	});
	// 改变排序类型
	App.set("$Event.goods_list.change_sort", function() {
		App.model.toggle("$Cache.goods_list.sort_asc_type");
		if (App.get("$Cache.goods_list.sort_asc_type")) {
			Path.jump("/goods_list.html?sort=cash&asc=0");
			return;
		};
		Path.jump("/goods_list.html?sort=cash&asc=1");
	});
	// 标签加载商品列表
	// function _init_tag(tag_id) {
	// 	var tags_detail = App.get("$Cache.goods_list.tags_detail");
	// 	for (var i = 0, tag; tag = tags_detail[i]; i += 1) {
	// 		if (tag._id == tag_id) {
	// 			if (App.get("$Cache.goods_list.typetitle") == tag.tag_name) {
	// 				$window_scroll.scrollTop(App.get("$Cache.goods_list.scrollTop") || 0);
	// 				return;
	// 			};
	// 			App.set("$Cache.pointer_tag", tag);
	// 			App.set("$Cache.goods_list.list", tag.detail_content);
	// 			App.set("$Cache.goods_list.typetitle", tag.tag_name)
	// 			break;
	// 		}
	// 	}
	// 	if (i == tags_detail.length) {
	// 		App.set("$Cache.pointer_tag", tags_detail[0]);
	// 	}
	// };

	// 按照分类加载商品
	// function _init_classify(classify_id) {
	// 	if (App.get("$Cache.goods_list.pointer_classify_id") == classify_id) {
	// 		$window_scroll.scrollTop(App.get("$Cache.goods_list.scrollTop") || 0);
	// 		return;
	// 	};
	// 	coAjax.get(appConfig.bus_classify_all_child_goods_by_id + classify_id, {
	// 		bus_id: busInfo._id
	// 	}, function(result) {
	// 		App.set("$Cache.goods_list.list", result.result);
	// 		App.set("$Cache.goods_list.pointer_classify_id", classify_id);
	// 		console.log(result.result);
	// 	});
	// };

	// 选定classify_id
	// App.set("$Event.goods_list.set_classify_id", function(e, vm) {
	// 	App.set("$Cache.goods_list.classify_id", vm.get("classify._id"));
	// });
	// 展开classify树形结构
	// App.set("$Event.goods_list.open_tree", function(e, vm) {
	// 	if (($(this).attr("class").indexOf("focus") > -1) && (App.get("$Cache.goods_list.classify_id") == vm.get("classify._id"))) {
	// 		$(this).removeClass("focus");
	// 		return;
	// 	};
	// 	$(this).addClass("focus");
	// });
	// classify_hash
	// App.set('$Event.goods_list.get_goods_by_classify_id', function() {
	// 	Path.jump("/goods_list.html?classify_id=" + App.get("$Cache.goods_list.classify_id"));
	// 	App.set("$Cache.goods_list.open_tags", false);
	// });
}());